#ifndef DEBUG_LOG_H
#define DEBUG_LOG_H

#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdarg.h>

                        /** DebugLog Class **/
 /*****************************************************************************
 *                                                                            *
 * The DebugLog class is a singleton class that writes to a file "debug.txt"  *
 * It is used to more easily detect runtime errors and to make sure that      *
 * everything is running properly in the program                              *
 *                                                                            *
 *****************************************************************************/
class DebugLog
{
        static DebugLog* _instance;
        DebugLog();
    public:
        ~DebugLog();
        static DebugLog* instance();

        void write(const char* msg);
        void writeLine(const char* msg);

        void endLine(int amount = 1);

    private:
        std::ofstream _file;
};

#endif // DEBUG_LOG_H
